\defmodule {VarianceGammaProcessDiffPCABridge}

Same as \class{VarianceGammaProcessDiff}, but the two
inner \class{GammaProcess}'es are of the type PCABridge.
Also, \texttt{generatePath(double[] uniform01)} distributes the
lowest coordinates uniforms to the inner
\class{GammaProcessPCABridge} according to their eigenvalues.

\bigskip\hrule\bigskip

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{code}
\begin{hide}
/*
 * Class:        VarianceGammaProcessDiffPCABridge
 * Description:
 * Environment:  Java
 * Software:     SSJ
 * Copyright (C) 2001  Pierre L'Ecuyer and Universite de Montreal
 * Organization: DIRO, Universite de Montreal
 * @authors      Jean-Sebastien Parent & Maxime Dion
 * @since        2008

 * SSJ is free software: you can redistribute it and/or modify it under
 * the terms of the GNU General Public License (GPL) as published by the
 * Free Software Foundation, either version 3 of the License, or
 * any later version.

 * SSJ is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.

 * A copy of the GNU General Public License is available at
   <a href="http://www.gnu.org/licenses">GPL licence site</a>.
 */
\end{hide}
package umontreal.iro.lecuyer.stochprocess;\begin{hide}
import umontreal.iro.lecuyer.rng.*;

\end{hide}

public class VarianceGammaProcessDiffPCABridge extends
                                               VarianceGammaProcessDiffPCA \begin{hide} {

\end{hide}
\end{code}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsubsection* {Constructors}
\begin{code}

   public VarianceGammaProcessDiffPCABridge (double s0, double theta,
                                             double sigma, double nu,
                                             RandomStream stream) \begin{hide} {
     super(s0, theta, sigma, nu,
	  new GammaProcessPCABridge (0.0, 1.0, 1.0, stream),
	  new GammaProcessPCABridge (0.0, 1.0, 1.0, stream));
    // Params mu, nu of the 2 gamma processes are redefined in init()
    // which will be called after a call to 'setObservTimes'
}\end{hide}
\end{code}
\begin{tabb}Constructs a new \class{VarianceGammaProcessDiffPCABridge} with
parameters  $\theta = \texttt{theta}$, $\sigma = \texttt{sigma}$, $\nu = \texttt{nu}$
and initial value $S(t_{0}) = \texttt{s0}$.  There is only
one \externalclass{umontreal.iro.lecuyer.rng}{RandomStream} here which is
used for the two inner \class{GammaProcessPCABridge}'s.  The other
parameters are set as in \class{VarianceGammaProcessDiff}.
\end{tabb}

\begin{code}\begin{hide}
}
\end{hide}\end{code}
